package com.hspedu.collection_;

import java.util.ArrayList;

/**
 * ArrayList底层结构和源码分析<br>
 * 1. permits all elements, including null, ArrayList 可以加入null, 并且多个<br>
 * 2. ArrayList是由数组来实现数据存储的<br>
 * 3. ArrayList基本等同于Vector, 除了ArrayList是线程不安全(执行效率高), 在多线程情况下, 不建议使用ArrayList<br>
 * @author enomix
 * @date 2022-06-16 20:29
 */
public class ArrayListDetail {
    public static void main(String[] args) {
        /*
        ArrayList是线程不安全的, 看其源码 没有 synchronized 关键词修饰
        public boolean add(E e) {
            ensureCapacityInternal(size + 1);  // Increments modCount!!
            elementData[size++] = e;
            return true;
        }
         */
        ArrayList arrayList = new ArrayList();
        arrayList.add(null);
        arrayList.add("jack");
        arrayList.add(null);
        System.out.println(arrayList);
    }
}
